Virtualization in computing generally refers to a concept of making one look like many and many look like one. Typically, a hypervisor refers to a special purpose system software that virtualizes multiple operating systems allowing them to share a single hardware host. Traditionally, a single operating system (“OS”) runs on the hardware, even though multiple operating systems might have been loaded on its storage. With hypervisors multiple operating systems can run concurrently because the hypervisor abstracts the hardware resources and manages their allocations. The operating systems that run on hypervisors are typically called virtual machines (“VMs”) and normally the applications run on virtual machines do not require any modification specific to the hypervisor.
Typically, creating the virtual machines involves a process of loading an operating system image, normally an ISO or a similar file. The operating system image can be a fresh installation media image of the operating system or a snapshot of the running operating system. A virtual machine migration typically refers to a process of moving the OS image file from one hypervisor to another one and booting up the image. In general, cloud computing refers to the use of resources (hardware and software) that are delivered as a service over a computer network, for example, the Internet.
Traditionally, remote application provisioning in the cloud environment is done by creating a snapshot of the whole virtual machine and transferring the snapshot of the virtual machine to a target hypervisor. Snapshot of the virtual machine typically refers to the image file that comprises of the Operating System and Applications. Most of the time Operating system is the major part of the virtual machine snapshot. Creating snapshots, and transferring and loading the huge operating system images typically are time consuming processes. The traditional virtual machine migration uses a huge amount of central processing unit (“CPU”), memory, and disk space resources.
In the cloud data center environments the demand for moving multiple virtual machine images across multiple hypervisors is very high. When the hypervisors are geographically dispersed over a cloud network and the network links between the hypervisors are of low capacity and high latency, the virtual machine migration becomes unreliable, expensive, and time consuming. Because of this, traditional virtual machine migration methodologies require high capacity and low latency network links and have migration distance limitations.
The operating system level provision methods come with the price. The price is paid as part of cost of the image migration and the cost of delay in bringing up the new service. For example, if the fresh installation of operating system uses 4 GB of storage space and application installation consumes 100 Mb of storage space, then the image to be migrated can have the size of 4.1 GB. Over 1.5 Mbps T1 connection it can take 45 minutes. If the carrier charges 1 cent per MB, for example, the total cost of the transfer can be $41 for Operating System VM image transfer.